#include <iostream>
#include <pthread.h>
#include <string>
#include <unistd.h>
using namespace std;
// 定义一个全局变量
__thread int globeNum = 100;

void *start(void *arg)
{
    string s = static_cast<const char *>(arg);
    while (true)
    {
        sleep(1);
        cout << globeNum << endl;
        cout << "子线程: "  << "地址在：" << &globeNum << endl;
        globeNum--;
    }
    return nullptr; 
}
int main()
{
    // 我们创建一个线程
    pthread_t tid;
    pthread_create(&tid, NULL, start, (void *)"zk创建的进程");
    while (true)
    {
        sleep(1);
        cout << globeNum << endl;
        cout << "主线程: " << "地址在：" << &globeNum << endl;
        globeNum--;
    }
    pthread_join(tid, NULL); // 等待子线程结束
    pthread_exit(NULL); // 主线程也优雅地退出，避免终止其他可能的线程
    return 0;
}